﻿using System;
using UI;
using UnityEngine;

[Serializable]
public class HideInfo
{
    public ECheckItemType checkType;
    public EItemType itemType;
    public string scenario;

    /// <summary>
    /// 判断是否拥有
    /// </summary>
    public bool Check()
    {
        if (itemType == EItemType.None) return false;
        if ((checkType == ECheckItemType.拥有道具 && !InventoryManager.HasItem(itemType)) ||
            (checkType == ECheckItemType.已使用道具 && !InventoryManager.CheckItemUsed(itemType)) ||
            (checkType == ECheckItemType.有过道具 && !InventoryManager.CheckItemGot(itemType)) ||
            (checkType == ECheckItemType.读过剧本 && !UI_ScenarioPanel.CheckStarted(scenario)) ||
            (checkType == ECheckItemType.选中道具 && (SlotUI.Instance.currentItem == null || SlotUI.Instance.currentItem.itemName != itemType)))
        {
            return false;
        }
        return true;
    }

    public bool Valid()
    {
        switch (checkType)
        {
            case ECheckItemType.拥有道具:
            case ECheckItemType.已使用道具:
            case ECheckItemType.有过道具:
            case ECheckItemType.选中道具:
                if (itemType == EItemType.None) return false;
                break;
            case ECheckItemType.读过剧本:
                if (string.IsNullOrEmpty(scenario)) return false;
                break;
        }
        return true;
    }
}